home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / Programming / Emperor4.1 / Emperor / Projects / Resistor / Resistor.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-16  |  62.3 KB  |  1,247 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define CATCOMP_NUMBERS
  4. #define CATCOMP_STRINGS
  5. #define ALL_REACTION_CLASSES
  6. #define ALL_REACTION_MACROS
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <clib/alib_protos.h>
  11. #include <clib/asl_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/gadtools_protos.h>
  15. #include <clib/graphics_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/locale_protos.h>
  18. #include <clib/resource_protos.h>
  19. #include <clib/utility_protos.h>
  20. #include <clib/colorwheel_protos.h>
  21. #include <clib/datebrowser_protos.h>
  22. #include <clib/texteditor_protos.h>
  23. #include <clib/wb_protos.h>
  24. #include <gadgets/colorwheel.h>
  25. #include <gadgets/datebrowser.h>
  26. #include <gadgets/gradientslider.h>
  27. #include <gadgets/tapedeck.h>
  28. #include <gadgets/texteditor.h>
  29. #include <proto/texteditor.h>
  30. #include <intuition/gadgetclass.h>
  31. #include <intuition/icclass.h>
  32. #include <intuition/imageclass.h>
  33. #include <reaction/reaction.h>
  34. #include <workbench/startup.h>
  35. #include <wbstartup.h>
  36. #include <StormC:Include/math.h>
  37.  
  38. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  39. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  40.  
  41. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Window")
  42. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "Workbench Screen")
  43. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified Program")
  44. #define LOCALE_TOLERANCE GetCatalogStr(Catalog, 3, "Tolerance")
  45. #define LOCALE_MULTIPLICATOR GetCatalogStr(Catalog, 4, "Multiplicator")
  46. #define LOCALE_COAL GetCatalogStr(Catalog, 5, "3 rings")
  47. #define LOCALE_METALGLOSS GetCatalogStr(Catalog, 6, "4 rings")
  48. #define LOCALE_METALFILM GetCatalogStr(Catalog, 7, "5 rings")
  49. #define LOCALE_METALLAYER GetCatalogStr(Catalog, 8, "6 rings")
  50. #define LOCALE_REQUEST_QUIT_TITLE GetCatalogStr(Catalog, 9, "Program request")
  51. #define LOCALE_REQUEST_QUIT_BODY GetCatalogStr(Catalog, 10, " Do you really want to quit this program ?")
  52. #define LOCALE_REQUEST_QUIT_GADGET GetCatalogStr(Catalog, 11, "Okay|No")
  53. #define LOCALE_REQUEST_INFO_TITLE GetCatalogStr(Catalog, 12, "Program information")
  54. #define LOCALE_REQUEST_INFO_BODY GetCatalogStr(Catalog, 13, "Resistor was written by Matthias Gietzelt\nResistor was created by Emperor")
  55. #define LOCALE_REQUEST_INFO_GADGET GetCatalogStr(Catalog, 14, "Okay")
  56. #define LOCALE_MENU_PROJECT GetCatalogStr(Catalog, 15, "Project")
  57. #define LOCALE_MENU_INFO GetCatalogStr(Catalog, 16, "Information")
  58. #define LOCALE_MENU_QUIT GetCatalogStr(Catalog, 17, "Quit")
  59. #define LOCALE_MENU_TOLERANCE GetCatalogStr(Catalog, 18, "Tolerance")
  60.  
  61. #define Layout1 Gadget1[1]
  62. #define Layout2 Gadget1[2]
  63. #define Chooser1 Gadget1[3]
  64. #define Label1 Gadget1[4]
  65. #define Listbrowser1 Gadget1[5]
  66. #define Layout3 Gadget1[6]
  67. #define Chooser2 Gadget1[7]
  68. #define Label2 Gadget1[8]
  69. #define Layout4 Gadget1[9]
  70.  
  71. #define Menu_Project 65504
  72. #define Menu_Information 63488
  73. #define Menu_Quit 63552
  74. #define Menu_Tolerance 65505
  75. #define Menu_E6 63489
  76. #define Menu_E12 63521
  77. #define Menu_E24 63553
  78. #define Menu_E48 63585
  79. #define Menu_E96 63617
  80.  
  81. LONG Quitrequest(void);
  82. LONG Inforequest(void);
  83. void Chooser1_GadgetUp_Event(void);
  84. void Listbrowser1_GadgetUp_Event(void);
  85. void Chooser2_GadgetUp_Event(void);
  86. void Menu_Information_MenuPick_Event(void);
  87. void Menu_Quit_MenuPick_Event(void);
  88. void Menu_E6_MenuPick_Event(void);
  89. void Menu_E12_MenuPick_Event(void);
  90. void Menu_E24_MenuPick_Event(void);
  91. void Menu_E48_MenuPick_Event(void);
  92. void Menu_E96_MenuPick_Event(void);
  93. void Window1_CloseWindow_Event(void);
  94. void Window1_ShowWindow_Event(void);
  95. void Startup(void);
  96. void Shutdown(void);
  97. void Emperor_InitProgram(void);
  98. void Emperor_QuitProgram(void);
  99. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  100. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  101. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  102. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  103. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  104. void Emperor_CloseWindow_Window1(void);
  105. struct Window *Emperor_OpenWindow_Window1(void);
  106. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  107. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  108. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  109. ULONG stringlength(STRPTR);
  110. LONG stringtoint(STRPTR);
  111. DOUBLE stringtofloat(STRPTR);
  112. STRPTR inttostring(LONG);
  113.  
  114. const char VERSION[] = "$VER: Resistor 1.0 (15-Jul-2001)";
  115. const char AUTHOR[] = "Matthias Gietzelt";
  116.  
  117. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 2, 26, 13, 12, 2, 26, 12, -1 };
  118. char *Nominalvaluearrayraw[] = { "E6 (±20%)", "E12 (±10%)", "E24 (±5%)", "E48 (±2%)", "E96 (±1%)", NULL };
  119. WORD Nominalvaluearrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  120. char *Multiplicatorarrayraw[] = { "10 mOhm", "100 mOhm", "1 Ohm", "10 Ohm", "100 Ohm", "1 kOhm", "10 kOhm", "100 kOhm", "1 MOhm", "10 MOhm", "100 MOhm", "1 GOhm", NULL };
  121. WORD Multiplicatorarrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  122.  
  123. struct NewMenu NewMenu[] =
  124. {
  125.     { NM_TITLE, 0, 0, 0, 0, 0 },
  126.     { NM_ITEM, 0, "I", 0, 0, 0 },
  127.     { NM_ITEM, NM_BARLABEL, 0, 0, 0, 0 },
  128.     { NM_ITEM, 0, "Q", 0, 0, 0 },
  129.     { NM_TITLE, 0, 0, 0, 0, 0 },
  130.     { NM_ITEM, 0, "1", 0, 0, 0 },
  131.     { NM_ITEM, 0, "2", 0, 0, 0 },
  132.     { NM_ITEM, 0, "3", 0, 0, 0 },
  133.     { NM_ITEM, 0, "4", 0, 0, 0 },
  134.     { NM_ITEM, 0, "5", 0, 0, 0 },
  135.     { NM_END, 0, 0, 0, 0, 0 }
  136. };
  137.  
  138. void *vinfo = NULL;
  139. BOOL os35 = TRUE;
  140. BOOL terminated = FALSE;
  141. ULONG WindowSignals1 = 0L;
  142. Object *WindowObject1 = NULL;
  143. struct Catalog *Catalog = NULL;
  144. struct Gadget *Gadget1[10];
  145. struct Library *IntuitionBase = NULL;
  146. struct Library *LocaleBase = NULL;
  147. struct Library *GadToolsBase = NULL;
  148. struct Library *ASLBase = NULL;
  149. struct Library *DOSLibBase = NULL;
  150. struct Library *ResourceBase = NULL;
  151. struct Library *WindowBase = NULL;
  152. struct Library *RequesterBase = NULL;
  153. struct Library *ButtonBase = NULL;
  154. struct Library *CheckBoxBase = NULL;
  155. struct Library *ChooserBase = NULL;
  156. struct Library *ClickTabBase = NULL;
  157. struct Library *ColorWheelBase = NULL;
  158. struct Library *DateBrowserBase = NULL;
  159. struct Library *FuelGaugeBase = NULL;
  160. struct Library *GetFileBase = NULL;
  161. struct Library *GetFontBase = NULL;
  162. struct Library *GetScreenModeBase = NULL;
  163. struct Library *GradientSliderBase = NULL;
  164. struct Library *IntegerBase = NULL;
  165. struct Library *LayoutBase = NULL;
  166. struct Library *ListBrowserBase = NULL;
  167. struct Library *PaletteBase = NULL;
  168. struct Library *RadioButtonBase = NULL;
  169. struct Library *ScrollerBase = NULL;
  170. struct Library *SliderBase = NULL;
  171. struct Library *SpaceBase = NULL;
  172. struct Library *SpeedBarBase = NULL;
  173. struct Library *StringBase = NULL;
  174. struct Library *TapeDeckBase = NULL;
  175. struct Library *TextEditorBase = NULL;
  176. struct Library *BevelBase = NULL;
  177. struct Library *BitMapBase = NULL;
  178. struct Library *GlyphBase = NULL;
  179. struct Library *LabelBase = NULL;
  180. struct List Emperor_Chooser_Nominalvaluearray;
  181. struct List Emperor_Clicktab_Nominalvaluearray;
  182. struct List Emperor_Listbrowser_Nominalvaluearray;
  183. struct List Emperor_Radiobutton_Nominalvaluearray;
  184. struct List Emperor_Listbrowser_GadTools_Nominalvaluearray;
  185. struct List Emperor_Chooser_Multiplicatorarray;
  186. struct List Emperor_Clicktab_Multiplicatorarray;
  187. struct List Emperor_Listbrowser_Multiplicatorarray;
  188. struct List Emperor_Radiobutton_Multiplicatorarray;
  189. struct List Emperor_Listbrowser_GadTools_Multiplicatorarray;
  190. struct Menu *Menu = NULL;
  191. struct MsgPort *AppPort = NULL;
  192. struct MsgPort *MsgPort = NULL;
  193. struct Screen *Screen1 = NULL;
  194. struct Window *Window1 = NULL;
  195.  
  196. BOOL sw = FALSE;
  197. BOOL br = FALSE;
  198. BOOL rt = FALSE;
  199. LONG or = 0;
  200. LONG ge = 0;
  201. LONG gn = 0;
  202. LONG bl = 0;
  203. LONG vl = 0;
  204. BOOL gr = FALSE;
  205. BOOL ws = FALSE;
  206. BOOL au = FALSE;
  207. BOOL ag = FALSE;
  208.  
  209. void main(void)
  210. {
  211.     ULONG Emperor_Input = 0L;
  212.     ULONG Emperor_Code = 0L;
  213.     struct IntuiMessage *IntuiMessage = NULL;
  214.     struct Gadget *GadgetMessage = NULL;
  215.  
  216.     Emperor_InitProgram();
  217.     Startup();
  218.     Emperor_OpenWindow_Window1();
  219.     while(!terminated)
  220.     {
  221.         Wait(WindowSignals1);
  222.         while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  223.         {
  224.             switch(Emperor_Input & WMHI_CLASSMASK)
  225.             {
  226.                 case WMHI_GADGETUP:
  227.                     switch(Emperor_Input & WMHI_GADGETMASK)
  228.                     {
  229.                         case 2: Chooser1_GadgetUp_Event(); break;
  230.                         case 3: Listbrowser1_GadgetUp_Event(); break;
  231.                         case 9: Chooser2_GadgetUp_Event(); break;
  232.                         default: break;
  233.                     }
  234.                     break;
  235.                 case WMHI_GADGETHELP:
  236.                     switch(Emperor_Input & WMHI_GADGETMASK)
  237.                     {
  238.                         default: break;
  239.                     }
  240.                     break;
  241.                 case WMHI_MENUPICK:
  242.                     switch(Emperor_Input & WMHI_MENUMASK)
  243.                     {
  244.                         case Menu_Information: Menu_Information_MenuPick_Event(); break;
  245.                         case Menu_Quit: Menu_Quit_MenuPick_Event(); break;
  246.                         case Menu_E6: Menu_E6_MenuPick_Event(); break;
  247.                         case Menu_E12: Menu_E12_MenuPick_Event(); break;
  248.                         case Menu_E24: Menu_E24_MenuPick_Event(); break;
  249.                         case Menu_E48: Menu_E48_MenuPick_Event(); break;
  250.                         case Menu_E96: Menu_E96_MenuPick_Event(); break;
  251.                         default: break;
  252.                     }
  253.                     break;
  254.                 case WMHI_MENUHELP:
  255.                     switch(Emperor_Input & WMHI_MENUMASK)
  256.                     {
  257.                         default: break;
  258.                     }
  259.                     break;
  260.                 case WMHI_CLOSEWINDOW:
  261.                     Window1_CloseWindow_Event();
  262.                     break;
  263.                 case WMHI_ICONIFY:
  264.                     break;
  265.                 case WMHI_UNICONIFY:
  266.                     break;
  267.                 case WMHI_ACTIVE:
  268.                     break;
  269.                 case WMHI_INACTIVE:
  270.                     break;
  271.                 case WMHI_RAWKEY:
  272.                     break;
  273.                 case WMHI_VANILLAKEY:
  274.                     break;
  275.                 case WMHI_MOUSEBUTTONS:
  276.                     break;
  277.                 case WMHI_MOUSEMOVE:
  278.                     break;
  279.                 case WMHI_NEWSIZE:
  280.                     break;
  281.                 case WMHI_CHANGEWINDOW:
  282.                     break;
  283.                 case WMHI_DISPOSEDWINDOW:
  284.                     break;
  285.                 case WMHI_INTUITICK:
  286.                     break;
  287.             }
  288.         }
  289.     }
  290.     Emperor_QuitProgram();
  291. }
  292.  
  293. void wbmain(struct WBStartup *Emperor_ArgMsg)
  294. {
  295.     main();
  296. }
  297.  
  298. LONG Quitrequest(void)
  299. {
  300.     struct EasyStruct EmperorRequest_Quitrequest;
  301.  
  302.     EmperorRequest_Quitrequest.es_StructSize = sizeof(struct EasyStruct);
  303.     EmperorRequest_Quitrequest.es_Flags = 0L;
  304.     EmperorRequest_Quitrequest.es_Title = (UBYTE *) LOCALE_REQUEST_QUIT_TITLE;
  305.     EmperorRequest_Quitrequest.es_TextFormat = (UBYTE *) LOCALE_REQUEST_QUIT_BODY;
  306.     EmperorRequest_Quitrequest.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_QUIT_GADGET;
  307.     return(EasyRequest(Window1, &EmperorRequest_Quitrequest, NULL, NULL));
  308. }
  309.  
  310. LONG Inforequest(void)
  311. {
  312.     struct EasyStruct EmperorRequest_Inforequest;
  313.  
  314.     EmperorRequest_Inforequest.es_StructSize = sizeof(struct EasyStruct);
  315.     EmperorRequest_Inforequest.es_Flags = 0L;
  316.     EmperorRequest_Inforequest.es_Title = (UBYTE *) LOCALE_REQUEST_INFO_TITLE;
  317.     EmperorRequest_Inforequest.es_TextFormat = (UBYTE *) LOCALE_REQUEST_INFO_BODY;
  318.     EmperorRequest_Inforequest.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INFO_GADGET;
  319.     return(EasyRequest(Window1, &EmperorRequest_Inforequest, NULL, NULL));
  320. }
  321.  
  322. void Emperor_InitProgram(void)
  323. {
  324.     UWORD Emperor_InitVar = 0;
  325.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  326.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  327.  
  328.     IntuitionBase = OpenLibrary("intuition.library", 39L);
  329.     if(!IntuitionBase)
  330.     {
  331.         Emperor_InitVar = 1;
  332.         strcpy(Emperor_OccuredError, "intuition.library");
  333.     }
  334.     LocaleBase = OpenLibrary("locale.library", 39L);
  335.     if(!LocaleBase)
  336.     {
  337.         Emperor_InitVar = 1;
  338.         strcpy(Emperor_OccuredError, "locale.library");
  339.     }
  340.     GadToolsBase = OpenLibrary("gadtools.library", 39L);
  341.     if(!GadToolsBase)
  342.     {
  343.         Emperor_InitVar = 1;
  344.         strcpy(Emperor_OccuredError, "gadtools.library");
  345.     }
  346.     ASLBase = OpenLibrary("asl.library", 39L);
  347.     if(!ASLBase)
  348.     {
  349.         Emperor_InitVar = 1;
  350.         strcpy(Emperor_OccuredError, "asl.library");
  351.     }
  352.     DOSLibBase = OpenLibrary("dos.library", 39L);
  353.     if(!DOSLibBase)
  354.     {
  355.         Emperor_InitVar = 1;
  356.         strcpy(Emperor_OccuredError, "dos.library");
  357.     }
  358.     ResourceBase = OpenLibrary("resource.library", 44L);
  359.     if(!ResourceBase)
  360.     {
  361.         os35 = FALSE;
  362.         strcpy(Emperor_OccuredError, "resource.library");
  363.     }
  364.     WindowBase = OpenLibrary("window.class", 44L);
  365.     if(!WindowBase)
  366.     {
  367.         os35 = FALSE;
  368.         strcpy(Emperor_OccuredError, "window.class");
  369.     }
  370.     RequesterBase = OpenLibrary("requester.class", 42L);
  371.     if(!RequesterBase)
  372.     {
  373.         os35 = FALSE;
  374.         strcpy(Emperor_OccuredError, "requester.class");
  375.     }
  376.     ButtonBase = OpenLibrary("gadgets/button.gadget", 44L);
  377.     if(!ButtonBase)
  378.     {
  379.         os35 = FALSE;
  380.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  381.     }
  382.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 44L);
  383.     if(!CheckBoxBase)
  384.     {
  385.         os35 = FALSE;
  386.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  387.     }
  388.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 44L);
  389.     if(!ChooserBase)
  390.     {
  391.         os35 = FALSE;
  392.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  393.     }
  394.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 44L);
  395.     if(!ClickTabBase)
  396.     {
  397.         os35 = FALSE;
  398.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  399.     }
  400.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 44L);
  401.     if(!ColorWheelBase)
  402.     {
  403.         os35 = FALSE;
  404.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  405.     }
  406.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 44L);
  407.     if(!DateBrowserBase)
  408.     {
  409.         os35 = FALSE;
  410.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  411.     }
  412.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 44L);
  413.     if(!FuelGaugeBase)
  414.     {
  415.         os35 = FALSE;
  416.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  417.     }
  418.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 44L);
  419.     if(!GetFileBase)
  420.     {
  421.         os35 = FALSE;
  422.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  423.     }
  424.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 44L);
  425.     if(!GetFontBase)
  426.     {
  427.         os35 = FALSE;
  428.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  429.     }
  430.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 44L);
  431.     if(!GetScreenModeBase)
  432.     {
  433.         os35 = FALSE;
  434.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  435.     }
  436.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 44L);
  437.     if(!GradientSliderBase)
  438.     {
  439.         os35 = FALSE;
  440.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  441.     }
  442.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 44L);
  443.     if(!IntegerBase)
  444.     {
  445.         os35 = FALSE;
  446.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  447.     }
  448.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 44L);
  449.     if(!LayoutBase)
  450.     {
  451.         os35 = FALSE;
  452.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  453.     }
  454.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 44L);
  455.     if(!ListBrowserBase)
  456.     {
  457.         os35 = FALSE;
  458.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  459.     }
  460.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 44L);
  461.     if(!PaletteBase)
  462.     {
  463.         os35 = FALSE;
  464.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  465.     }
  466.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 44L);
  467.     if(!RadioButtonBase)
  468.     {
  469.         os35 = FALSE;
  470.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  471.     }
  472.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 44L);
  473.     if(!ScrollerBase)
  474.     {
  475.         os35 = FALSE;
  476.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  477.     }
  478.     SliderBase = OpenLibrary("gadgets/slider.gadget", 44L);
  479.     if(!SliderBase)
  480.     {
  481.         os35 = FALSE;
  482.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  483.     }
  484.     SpaceBase = OpenLibrary("gadgets/space.gadget", 44L);
  485.     if(!SpaceBase)
  486.     {
  487.         os35 = FALSE;
  488.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  489.     }
  490.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 44L);
  491.     if(!SpeedBarBase)
  492.     {
  493.         os35 = FALSE;
  494.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  495.     }
  496.     StringBase = OpenLibrary("gadgets/string.gadget", 44L);
  497.     if(!StringBase)
  498.     {
  499.         os35 = FALSE;
  500.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  501.     }
  502.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 40L);
  503.     if(!TapeDeckBase)
  504.     {
  505.         os35 = FALSE;
  506.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  507.     }
  508.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 15L);
  509.     if(!TextEditorBase)
  510.     {
  511.         os35 = FALSE;
  512.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  513.     }
  514.     BevelBase = OpenLibrary("images/bevel.image", 44L);
  515.     if(!BevelBase)
  516.     {
  517.         os35 = FALSE;
  518.         strcpy(Emperor_OccuredError, "images/bevel.image");
  519.     }
  520.     BitMapBase = OpenLibrary("images/bitmap.image", 44L);
  521.     if(!BitMapBase)
  522.     {
  523.         os35 = FALSE;
  524.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  525.     }
  526.     GlyphBase = OpenLibrary("images/glyph.image", 44L);
  527.     if(!GlyphBase)
  528.     {
  529.         os35 = FALSE;
  530.         strcpy(Emperor_OccuredError, "images/glyph.image");
  531.     }
  532.     LabelBase = OpenLibrary("images/label.image", 44L);
  533.     if(!LabelBase)
  534.     {
  535.         os35 = FALSE;
  536.         strcpy(Emperor_OccuredError, "images/label.image");
  537.     }
  538.     Catalog = OpenCatalogA(NULL, "Resistor.catalog", NULL);
  539.     Screen1 = LockPubScreen(NULL);
  540.     if(!Screen1) Emperor_InitVar = 5;
  541.     else
  542.     {
  543.         vinfo = GetVisualInfo(Screen1, TAG_DONE);
  544.         if(!vinfo) Emperor_InitVar = 6;
  545.         else
  546.         {
  547.             NewMenu[0].nm_Label = LOCALE_MENU_PROJECT;
  548.             NewMenu[1].nm_Label = LOCALE_MENU_INFO;
  549.             NewMenu[2].nm_Label = NM_BARLABEL;
  550.             NewMenu[3].nm_Label = LOCALE_MENU_QUIT;
  551.             NewMenu[4].nm_Label = LOCALE_MENU_TOLERANCE;
  552.             NewMenu[5].nm_Label = "E6 (±20%)";
  553.             NewMenu[6].nm_Label = "E12 (±10)";
  554.             NewMenu[7].nm_Label = "E24 (±5)";
  555.             NewMenu[8].nm_Label = "E48 (±2%)";
  556.             NewMenu[9].nm_Label = "E96 (±1%)";
  557.             Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
  558.             if(!Menu) Emperor_InitVar = 7;
  559.             else
  560.             {
  561.                 LayoutMenus(Menu, vinfo, GTMN_FrontPen, 0, TAG_DONE);
  562.  
  563.                 AppPort = CreateMsgPort();
  564.                 if(!AppPort) Emperor_InitVar = 8;
  565.  
  566.                 MsgPort = CreatePort("Resistor_Port", 0);
  567.                 if(!MsgPort) Emperor_InitVar = 8;
  568.             }
  569.         }
  570.     }
  571.     if(os35)
  572.     {
  573.         Emperor_AllocChooserNode(&Emperor_Chooser_Nominalvaluearray, Nominalvaluearrayraw, Nominalvaluearrayattr);
  574.         Emperor_AllocClicktabNode(&Emperor_Clicktab_Nominalvaluearray, Nominalvaluearrayraw, Nominalvaluearrayattr);
  575.         Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Nominalvaluearray, Nominalvaluearrayraw, Nominalvaluearrayattr);
  576.         Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Nominalvaluearray, Nominalvaluearrayraw, Nominalvaluearrayattr);
  577.     }
  578.     Emperor_AllocListbrowserGadToolsNode(&Emperor_Listbrowser_GadTools_Nominalvaluearray, Nominalvaluearrayraw);
  579.     if(os35)
  580.     {
  581.         Emperor_AllocChooserNode(&Emperor_Chooser_Multiplicatorarray, Multiplicatorarrayraw, Multiplicatorarrayattr);
  582.         Emperor_AllocClicktabNode(&Emperor_Clicktab_Multiplicatorarray, Multiplicatorarrayraw, Multiplicatorarrayattr);
  583.         Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Multiplicatorarray, Multiplicatorarrayraw, Multiplicatorarrayattr);
  584.         Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Multiplicatorarray, Multiplicatorarrayraw, Multiplicatorarrayattr);
  585.     }
  586.     Emperor_AllocListbrowserGadToolsNode(&Emperor_Listbrowser_GadTools_Multiplicatorarray, Multiplicatorarrayraw);
  587.     if((os35) && (!Emperor_InitVar))
  588.     {
  589.         WindowObject1 = (Object *) WindowObject,
  590.                         WA_Left, 0,
  591.                         WA_Top, 17,
  592.                         WA_Width, 400,
  593.                         WA_Height, 300,
  594.                         WA_DragBar, TRUE,
  595.                         WA_DepthGadget, TRUE,
  596.                         WA_CloseGadget, TRUE,
  597.                         WA_Activate, TRUE,
  598.                         WA_AutoAdjust, TRUE,
  599.                         WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  600.                         WA_MinWidth, 0,
  601.                         WA_MinHeight, 0,
  602.                         WA_MaxWidth, 0,
  603.                         WA_MaxHeight, 0,
  604.                         WA_Title, LOCALE_WINDOW_TITLE1,
  605.                         WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  606.                         WA_PubScreen, Screen1,
  607.                         WINDOW_GadgetHelp, TRUE,
  608.                         WINDOW_IconifyGadget, FALSE,
  609.                         WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  610.                         WINDOW_AppPort, AppPort,
  611.                         WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  612.                                             LAYOUT_SpaceOuter, TRUE,
  613.                                             LAYOUT_DeferLayout, TRUE,
  614.                                             LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  615.                                                              GA_ID, 0,
  616.                                                              GA_RelVerify, TRUE,
  617.                                                              GA_GadgetHelp, TRUE,
  618.                                                              LAYOUT_Label, "",
  619.                                                              LAYOUT_Orientation, 0,
  620.                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  621.                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  622.                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  623.                                                              LAYOUT_BevelState, IDS_NORMAL,
  624.                                                              LAYOUT_BevelStyle, 4,
  625.                                                              LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  626.                                                                               GA_ID, 1,
  627.                                                                               GA_RelVerify, TRUE,
  628.                                                                               GA_GadgetHelp, TRUE,
  629.                                                                               LAYOUT_Label, "",
  630.                                                                               LAYOUT_Orientation, 1,
  631.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  632.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  633.                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  634.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  635.                                                                               LAYOUT_BevelStyle, 4,
  636.                                                                               LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) ChooserObject,
  637.                                                                                                GA_ID, 2,
  638.                                                                                                GA_RelVerify, TRUE,
  639.                                                                                                GA_GadgetHelp, TRUE,
  640.                                                                                                CHOOSER_Title, "Tolerance",
  641.                                                                                                CHOOSER_AutoFit, TRUE,
  642.                                                                                                CHOOSER_PopUp, TRUE,
  643.                                                                                                CHOOSER_MaxLabels, 5,
  644.                                                                                                CHOOSER_Offset, 0,
  645.                                                                                                CHOOSER_Selected, -1,
  646.                                                                                                CHOOSER_Labels, (ULONG) &Emperor_Chooser_Nominalvaluearray,
  647.                                                                               End,
  648.                                                                               CHILD_Label, (Object *) Gadget1[4] = (Object *) LabelObject,
  649.                                                                                                LABEL_Justification, 0,
  650.                                                                                                LABEL_Text, LOCALE_TOLERANCE,
  651.                                                                               End,
  652.                                                                               LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) ListBrowserObject,
  653.                                                                                                GA_ID, 3,
  654.                                                                                                GA_RelVerify, TRUE,
  655.                                                                                                GA_GadgetHelp, TRUE,
  656.                                                                                                LISTBROWSER_AutoFit, TRUE,
  657.                                                                                                LISTBROWSER_ShowSelected, TRUE,
  658.                                                                                                LISTBROWSER_VerticalProp, TRUE,
  659.                                                                                                LISTBROWSER_HorizontalProp, TRUE,
  660.                                                                               End,
  661.                                                              End,
  662.                                                              LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) LayoutObject,
  663.                                                                               GA_ID, 5,
  664.                                                                               GA_RelVerify, TRUE,
  665.                                                                               GA_GadgetHelp, TRUE,
  666.                                                                               LAYOUT_Label, "",
  667.                                                                               LAYOUT_Orientation, 1,
  668.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  669.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  670.                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  671.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  672.                                                                               LAYOUT_BevelStyle, 4,
  673.                                                                               LAYOUT_AddChild, (Object *) Gadget1[7] = (Object *) ChooserObject,
  674.                                                                                                GA_ID, 9,
  675.                                                                                                GA_RelVerify, TRUE,
  676.                                                                                                GA_GadgetHelp, TRUE,
  677.                                                                                                CHOOSER_Title, "Multiplicator",
  678.                                                                                                CHOOSER_AutoFit, TRUE,
  679.                                                                                                CHOOSER_PopUp, TRUE,
  680.                                                                                                CHOOSER_MaxLabels, 12,
  681.                                                                                                CHOOSER_Offset, 0,
  682.                                                                                                CHOOSER_Selected, -1,
  683.                                                                                                CHOOSER_Labels, (ULONG) &Emperor_Chooser_Multiplicatorarray,
  684.                                                                               End,
  685.                                                                               CHILD_Label, (Object *) Gadget1[8] = (Object *) LabelObject,
  686.                                                                                                LABEL_Justification, 0,
  687.                                                                                                LABEL_Text, LOCALE_MULTIPLICATOR,
  688.                                                                               End,
  689.                                                                               LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) LayoutObject,
  690.                                                                                                GA_ID, 4,
  691.                                                                                                GA_RelVerify, TRUE,
  692.                                                                                                GA_GadgetHelp, TRUE,
  693.                                                                                                LAYOUT_Label, "",
  694.                                                                                                LAYOUT_Orientation, 1,
  695.                                                                                                LAYOUT_FillPen, 0,
  696.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  697.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  698.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  699.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  700.                                                                                                LAYOUT_BevelStyle, 3,
  701.                                                                               End,
  702.                                                              End,
  703.                                             End,
  704.                         EndGroup,
  705.         EndWindow;
  706.     }
  707.  
  708.     if(Emperor_InitVar)
  709.     {
  710.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  711.         switch(Emperor_InitVar)
  712.         {
  713.             case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  714.                     strcat(Emperor_ExceptionString, Emperor_OccuredError);
  715.                     strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  716.                     break;
  717.             case 5: strcat(Emperor_ExceptionString, "Can't lock your public-screen."); break;
  718.             case 6: strcat(Emperor_ExceptionString, "Can't get visualinfo of your public-screen."); break;
  719.             case 7: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  720.             case 8: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  721.         }
  722.         if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  723.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  724.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  725.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  726.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  727.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  728.         EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  729.         Emperor_QuitProgram();
  730.     }
  731.     else
  732.     {
  733.         SetProgramName("Resistor");
  734.         Startup();
  735.     }
  736. }
  737.  
  738. void Emperor_QuitProgram(void)
  739. {
  740.     Shutdown();
  741.     Emperor_CloseWindow_Window1();
  742.     if(WindowObject1) DisposeObject(WindowObject1);
  743.     if(AppPort) DeleteMsgPort(AppPort);
  744.     if(MsgPort) DeletePort(MsgPort);
  745.     if(Menu) FreeMenus(Menu);
  746.     if(vinfo) FreeVisualInfo(vinfo);
  747.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  748.     if(Catalog) CloseCatalog(Catalog);
  749.     if(LabelBase) CloseLibrary(LabelBase);
  750.     if(GlyphBase) CloseLibrary(GlyphBase);
  751.     if(BitMapBase) CloseLibrary(BitMapBase);
  752.     if(BevelBase) CloseLibrary(BevelBase);
  753.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  754.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  755.     if(StringBase) CloseLibrary(StringBase);
  756.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  757.     if(SpaceBase) CloseLibrary(SpaceBase);
  758.     if(SliderBase) CloseLibrary(SliderBase);
  759.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  760.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  761.     if(PaletteBase) CloseLibrary(PaletteBase);
  762.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  763.     if(LayoutBase) CloseLibrary(LayoutBase);
  764.     if(IntegerBase) CloseLibrary(IntegerBase);
  765.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  766.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  767.     if(GetFontBase) CloseLibrary(GetFontBase);
  768.     if(GetFileBase) CloseLibrary(GetFileBase);
  769.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  770.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  771.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  772.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  773.     if(ChooserBase) CloseLibrary(ChooserBase);
  774.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  775.     if(ButtonBase) CloseLibrary(ButtonBase);
  776.     if(RequesterBase) CloseLibrary(RequesterBase);
  777.     if(WindowBase) CloseLibrary(WindowBase);
  778.     if(ResourceBase) CloseLibrary(ResourceBase);
  779.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  780.     if(ASLBase) CloseLibrary(ASLBase);
  781.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  782.     if(LocaleBase) CloseLibrary(LocaleBase);
  783.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  784.     exit(0);
  785. }
  786.  
  787. void Emperor_CloseWindow_Window1(void)
  788. {
  789.     if(os35)
  790.     {
  791.         if(Menu) ClearMenuStrip(Window1);
  792.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  793.         Window1 = NULL;
  794.         WindowSignals1 = 0L;
  795.     }
  796. }
  797.  
  798. struct Window *Emperor_OpenWindow_Window1(void)
  799. {
  800.     if(os35)
  801.     {
  802.         Window1 = RA_OpenWindow(WindowObject1);
  803.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  804.         SetMenuStrip(Window1, Menu);
  805.         Window1_ShowWindow_Event();
  806.     }
  807.     return(Window1);
  808. }
  809.  
  810. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  811. {
  812.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  813.     STRPTR Emperor_GadgetAttrReturn = "";
  814.  
  815.     Emperor_GadgetAttrBuffer = 0L;
  816.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  817.     {
  818.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  819.         {
  820.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  821.             {
  822.                 case 0:
  823.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  824.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  825.                     break;
  826.                 case 1:
  827.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  828.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  829.                     break;
  830.                 case 2:
  831.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  832.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  833.                     break;
  834.                 case 3:
  835.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  836.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  837.                     break;
  838.                 case 6:
  839.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  840.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  841.                     break;
  842.                 case 10:
  843.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  844.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  845.                     break;
  846.                 case 11:
  847.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  848.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  849.                     break;
  850.                 case 13:
  851.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  852.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  853.                     break;
  854.                 case 14:
  855.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  856.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  857.                     break;
  858.                 case 15:
  859.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  860.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  861.                     break;
  862.                 case 16:
  863.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  864.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  865.                     break;
  866.                 case 17:
  867.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  868.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  869.                     break;
  870.                 case 19:
  871.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  872.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  873.                     break;
  874.                 case 20:
  875.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  876.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  877.                     break;
  878.                 case 22:
  879.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  880.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  881.                     break;
  882.             }
  883.             break;
  884.         }
  885.     }
  886.     return(Emperor_GadgetAttrReturn);
  887. }
  888.  
  889. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  890. {
  891.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  892.     struct Window *Emperor_Whichwindow = NULL;
  893.  
  894.     Emperor_GadgetAttrBuffer = 0L;
  895.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  896.     {
  897.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  898.         {
  899.             Emperor_Whichwindow = Window1;
  900.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  901.             {
  902.                 case 0:
  903.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  904.                     break;
  905.                 case 1:
  906.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  907.                     break;
  908.                 case 2:
  909.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  910.                     break;
  911.                 case 3:
  912.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  913.                     break;
  914.                 case 6:
  915.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  916.                     break;
  917.                 case 10:
  918.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  919.                     break;
  920.                 case 11:
  921.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  922.                     break;
  923.                 case 13:
  924.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  925.                     break;
  926.                 case 14:
  927.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  928.                     break;
  929.                 case 15:
  930.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  931.                     break;
  932.                 case 16:
  933.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  934.                     break;
  935.                 case 17:
  936.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  937.                     break;
  938.                 case 19:
  939.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  940.                     break;
  941.                 case 20:
  942.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  943.                     break;
  944.                 case 22:
  945.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  946.                     break;
  947.             }
  948.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  949.             break;
  950.         }
  951.     }
  952. }
  953.  
  954. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  955. {
  956.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  957.     struct Window *Emperor_Whichwindow = NULL;
  958.  
  959.     Emperor_GadgetAttrBuffer = 0L;
  960.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  961.     {
  962.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  963.         {
  964.             Emperor_Whichwindow = Window1;
  965.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  966.             {
  967.                 case 0:
  968.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  969.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  970.                     break;
  971.                 case 1:
  972.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  973.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  974.                     break;
  975.                 case 2:
  976.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  977.                     else
  978.                     {
  979.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  980.                         {
  981.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  982.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  983.                             Emperor_GadgetAttrBuffer = 1;
  984.                         }
  985.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  986.                     }
  987.                     break;
  988.                 case 3:
  989.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  990.                     {
  991.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  992.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  993.                         Emperor_GadgetAttrBuffer = 1;
  994.                     }
  995.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  996.                     break;
  997.                 case 4:
  998.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  999.                     else
  1000.                     {
  1001.                         if((Emperor_GadgetFlagMask == WHEEL_Red) || (Emperor_GadgetFlagMask == WHEEL_Green) || (Emperor_GadgetFlagMask == WHEEL_Blue) || (Emperor_GadgetFlagMask == WHEEL_Hue) || (Emperor_GadgetFlagMask == WHEEL_Saturation) || (Emperor_GadgetFlagMask == WHEEL_Brightness)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue) << 24, TAG_DONE);
  1002.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1003.                     }
  1004.                     break;
  1005.                 case 5:
  1006.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  1007.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1008.                     break;
  1009.                 case 6:
  1010.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1011.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1012.                     break;
  1013.                 case 7:
  1014.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1015.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1016.                     break;
  1017.                 case 8:
  1018.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  1019.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1020.                     break;
  1021.                 case 9:
  1022.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  1023.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1024.                     break;
  1025.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1026.                 case 11: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1027.                 case 13:
  1028.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  1029.                     {
  1030.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  1031.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1032.                         Emperor_GadgetAttrBuffer = 1;
  1033.                     }
  1034.                     else
  1035.                     {
  1036.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1037.                         {
  1038.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1039.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1040.                             Emperor_GadgetAttrBuffer = 1;
  1041.                         }
  1042.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1043.                     }
  1044.                     break;
  1045.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1046.                 case 15:
  1047.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1048.                     {
  1049.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1050.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1051.                         Emperor_GadgetAttrBuffer = 1;
  1052.                     }
  1053.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1054.                     break;
  1055.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1056.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1057.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1058.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1059.                 case 20:
  1060.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1061.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1062.                     break;
  1063.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1064.                 case 22:
  1065.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1066.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1067.                     break;
  1068.             }
  1069.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1070.             break;
  1071.         }
  1072.     }
  1073. }
  1074.  
  1075. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1076. {
  1077.     WORD Emperor_Counter1 = 0;
  1078.     struct Node *Emperor_Node;
  1079.  
  1080.     if(os35)
  1081.     {
  1082.         NewList(Emperor_List);
  1083.         while(*Emperor_Labels)
  1084.         {
  1085.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1086.             AddTail(Emperor_List, Emperor_Node);
  1087.             Emperor_Labels++;
  1088.             Emperor_Counter1 += 12;
  1089.         }
  1090.     }
  1091. }
  1092.  
  1093. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1094. {
  1095.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1096.     struct Node *Emperor_Node;
  1097.  
  1098.     if(os35)
  1099.     {
  1100.         NewList(Emperor_List);
  1101.         while(*Emperor_Labels)
  1102.         {
  1103.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1104.             AddTail(Emperor_List, Emperor_Node);
  1105.             Emperor_Labels++;
  1106.             Emperor_Counter1 += 12;
  1107.             Emperor_Counter2++;
  1108.         }
  1109.     }
  1110. }
  1111.  
  1112. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1113. {
  1114.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1115.     struct Node *Emperor_Node;
  1116.  
  1117.     if(os35)
  1118.     {
  1119.         NewList(Emperor_List);
  1120.         while(*Emperor_Labels)
  1121.         {
  1122.             Emperor_Counter2 = 0;
  1123.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1124.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1125.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1126.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1127.             Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
  1128.             AddTail(Emperor_List, Emperor_Node);
  1129.             Emperor_Labels++;
  1130.             Emperor_Counter1 += 12;
  1131.         }
  1132.     }
  1133. }
  1134.  
  1135. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1136. {
  1137.     struct Node *Emperor_Node;
  1138.  
  1139.     if(os35)
  1140.     {
  1141.         NewList(Emperor_List);
  1142.         while(*Emperor_Labels)
  1143.         {
  1144.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1145.             AddTail(Emperor_List, Emperor_Node);
  1146.             Emperor_Labels++;
  1147.         }
  1148.     }
  1149. }
  1150.  
  1151. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1152. {
  1153.     struct Node *Emperor_Node;
  1154.     struct Remember *Emperor_RememberKey;
  1155.  
  1156.     NewList(Emperor_List);
  1157.     while(*Emperor_Labels)
  1158.     {
  1159.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1160.         Emperor_Node->ln_Name = *Emperor_Labels;
  1161.         AddTail(Emperor_List, Emperor_Node);
  1162.         Emperor_Labels++;
  1163.     }
  1164. }
  1165.  
  1166. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1167. {
  1168.     ULONG Emperor_Counter = 0;
  1169.  
  1170.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1171.     return(Emperor_Counter);
  1172. }
  1173.  
  1174. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1175. {
  1176.     return(atol(Emperor_StringBuffer));
  1177. }
  1178.  
  1179. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1180. {
  1181.     return(atof(Emperor_StringBuffer));
  1182. }
  1183.  
  1184. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  1185. {
  1186.     LONG Emperor_NumberBuffer2;
  1187.     BYTE Emperor_NumberLength = 0;
  1188.     BYTE Emperor_Counter = 0;
  1189.     char *Emperor_ReturnBuffer = "abcdefghij";
  1190.  
  1191.     strcpy(Emperor_ReturnBuffer, "");
  1192.     Emperor_ReturnBuffer[0] = NULL;
  1193.     if(Emperor_NumberBuffer1 < 0)
  1194.     {
  1195.         strcpy(Emperor_ReturnBuffer, "-");
  1196.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  1197.     }
  1198.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  1199.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  1200.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  1201.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  1202.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  1203.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  1204.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  1205.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  1206.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  1207.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  1208.     else
  1209.     {
  1210.         Emperor_Counter = Emperor_NumberLength;
  1211.         for(;Emperor_Counter > 0;Emperor_Counter--)
  1212.         {
  1213.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  1214.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  1215.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  1216.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  1217.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  1218.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  1219.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  1220.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  1221.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  1222.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  1223.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  1224.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  1225.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  1226.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  1227.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  1228.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  1229.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  1230.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  1231.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  1232.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  1233.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  1234.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  1235.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  1236.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  1237.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  1238.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  1239.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  1240.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  1241.         }
  1242.     }
  1243.     return(Emperor_ReturnBuffer);
  1244. }
  1245.  
  1246. #include <Resistor.h>
  1247.